阶段 B:数据加工 + 因子化

依赖阶段 A 完成。将原始数据转化为可用因子,建立标准化的因子生产和评估流程。


总览

子任务 内容 文件
B1 清洗管道 src/processing/pipeline.py
B2 因子引擎 src/processing/factors/
B3 因子评估 src/processing/factor_eval.py

B1. 清洗管道

处理流程

原始数据 → 去噪 → 去重 → 缺失补齐 → 时间对齐 → 币种统一 → 清洁数据

清洗规则

步骤 说明 方法
去噪 过滤异常跳变 3σ 滤波 + 中值滤波
去重 同一时间戳去重 按 (symbol, time, source) 去重
缺失补齐 非交易日/停牌 前值填充 (ffill)
时间对齐 不同频率数据对齐 重采样 + 时区统一 (UTC)
币种统一 多币种统一计价 汇率转换至 USD

文件


B2. 因子引擎

BaseFactor 接口

class BaseFactor(ABC):
    name: str
    category: str       # 'technical', 'flow', 'sentiment', 'cross_asset'
    lookback: int       # 回溯周期

    @abstractmethod
    def compute(self, data: pd.DataFrame) -> pd.Series:
        """计算因子值"""
        ...

    def normalize(self, series: pd.Series) -> pd.Series:
        """标准化 → z-score"""
        return (series - series.mean()) / series.std()

因子分类

技术因子 (technical.py)

因子 公式/方法 周期
EMA_cross EMA(12) vs EMA(26) 12/26
RSI 相对强弱指数 14
MACD 快慢线差值 12/26/9
BB_width 布林带宽度 20
Momentum N日收益率 5/10/20
ATR 平均真实波幅 14
Volume_ratio 量比 (当日/MA20) 20

资金流因子 (flow.py)

因子 说明
sweep_score 异常扫单评分 (Golden Sweep检测)
darkpool_activity 暗池活跃度 (成交占比)
option_skew 期权偏度 (Put/Call premium ratio)
large_order_imbalance 大单净流入/流出

情绪因子 (sentiment.py)

因子 说明
news_sentiment 新闻综合情绪 (NLP/LLM)
social_buzz 社交媒体热度指数
llm_signal Claude LLM 技术+情绪综合信号
fear_greed 恐贪指数

跨资产因子 (cross_asset.py)

因子 说明
sector_momentum 板块动量排名
corr_regime 相关性体制变化检测
risk_on_off 风险偏好指标 (股债比等)
vol_term_structure 波动率期限结构

B3. 因子评估

评估指标

指标 说明 合格标准
IC (信息系数) 因子值与未来收益相关性 |IC| > 0.03
IR (信息比率) IC均值/IC标准差 IR > 0.5
IC衰减 IC随持有期的衰减速度 半衰期 > 5天
因子间相关性 因子两两相关系数 |corr| < 0.7
分组收益 分位组合收益单调性 多空组合年化 > 5%

因子存储

CREATE TABLE factors (
    time        TIMESTAMPTZ NOT NULL,
    symbol      TEXT NOT NULL,
    factor_name TEXT NOT NULL,
    value       FLOAT8,
    category    TEXT
);
SELECT create_hypertable('factors', 'time');
CREATE INDEX idx_factor_lookup ON factors (symbol, factor_name, time DESC);

文件


最后更新: 2026-03-01